package cn.zhentao.dto;

import lombok.Builder;
import lombok.Data;

/**
 * 数字人通话响应DTO
 * 
 * @author zhentao
 */
@Data
@Builder
public class DigitalHumanCallResponseDto {
    
    /**
     * 响应码
     */
    private Integer code;
    
    /**
     * 响应消息
     */
    private String message;
    
    /**
     * 请求ID
     */
    private String requestId;
    
    /**
     * 错误码
     */
    private String errorCode;
    
    /**
     * 数字人智能体实例ID
     */
    private String aiAgentInstanceId;
    
    /**
     * 频道ID
     */
    private String channelId;
    
    /**
     * 数字人用户ID
     */
    private String aiAgentUserId;
    
    /**
     * RTC认证Token
     */
    private String rtcAuthToken;
    
    /**
     * 智能体类型
     */
    private String agentType;
    
    /**
     * 会话ID
     */
    private String sessionId;
    
    /**
     * 数字人配置信息
     */
    private DigitalHumanConfig digitalHumanConfig;
    
    /**
     * 数字人配置内部类
     */
    @Data
    @Builder
    public static class DigitalHumanConfig {
        /**
         * 数字人头像URL
         */
        private String avatarUrl;
        
        /**
         * 语音ID
         */
        private String voiceId;
        
        /**
         * 语音ID列表
         */
        private String[] voiceIdList;
        
        /**
         * 是否启用语音打断
         */
        private Boolean enableVoiceInterrupt;
        
        /**
         * 是否启用按键说话
         */
        private Boolean enablePushToTalk;
        
        /**
         * 背景颜色
         */
        private String backgroundColor;
        
        /**
         * 数字人尺寸
         */
        private Integer width;
        private Integer height;
    }
}
